<template>
  <div class="mine">
    <!-- 头像区域 -->
    <div class="profile">
      <!-- 注意：如果宽高这些事写在行内的，那么不会自动转成rem -->
      <!-- vant里的组件，都默认有一个跟组件名一样的类名 -->
      <van-image round fit="cover" :src="userInfo.photo" />
      <div class="info">
        <h4>{{ userInfo.name }}</h4>
        <span>{{ userInfo.birthday }}</span>
      </div>
    </div>

    <!-- 快捷功能区域 -->
    <van-row>
      <!-- 第一个 -->
      <van-col span="8">
        <van-icon name="newspaper-o" />
        <span>我的作品</span>
      </van-col>
      <!-- 第二个 -->
      <van-col span="8">
        <van-icon name="star-o" />
        <span>我的收藏</span>
      </van-col>
      <!-- 第三个 -->
      <van-col span="8">
        <van-icon name="tosend" />
        <span>阅读历史</span>
      </van-col>
    </van-row>

    <!-- cell功能区域 -->
    <van-cell-group>
      <van-cell to="/mine/edit" icon="edit" title="编辑资料" is-link />
      <van-cell to="/mine/chat" icon="chat-o" title="小智同学" is-link />
      <van-cell icon="setting-o" title="系统设置" is-link />
      <van-cell @click="logout" icon="info-o" title="退出登录" is-link />
    </van-cell-group>
  </div>
</template>

<script>

export default {
  data() {
    return {};
  },

  methods: {
    logout () {

      // 调用vuex里封装好的删除token方法
      this.$store.commit('logout')
      // 弹出提示说退出成功
      this.$toast.success('退出成功')
      // 跳转到登录页
      this.$router.push('/login')
    }
  },

  created() {
  
    this.$store.dispatch('getUserInfo')
  },

  computed: {
    userInfo() {
      return this.$store.state.userInfo;
    },
  },
};
</script>

<style lang="less" scoped>
.mine {
  @bgColor: #3296fa;

  // 顶部资料区域
  .profile {
    height: 160px;
    background-color: @bgColor;

    // 这句话的目的是为了让里面的图片和资料同一行显示
    display: flex;
    // 在副轴居中（默认情况y轴）
    align-items: center;

    // 这是头像
    .van-image {
      width: 100px;
      height: 100px;
      margin-left: 20px;
      margin-right: 10px;
    }

    // 右边的div
    .info {
      h4 {
        color: #fff;
        font-size: 16px;
        margin-bottom: 8px;
      }

      span {
        background-color: #fff;
        color: @bgColor;
        padding: 3px;
        font-weight: 700;
      }
    }
  }

  // 快捷功能区域
  .van-row {
    .van-col {
      display: flex;
      // 修改主轴方向改成y轴，就是一上一下了
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 80px;

      // &在less里是父级选择器的别名
      // 所以这里相当于写的是 .van-icon:first-child
      &:first-child .van-icon {
        color: #94afff;
      }

      &:nth-child(2) .van-icon {
        color: #f00;
      }

      &:nth-child(3) .van-icon {
        color: #ffaf6b;
      }

      .van-icon {
        font-size: 30px;
        margin-bottom: 5px;
      }
    }
  }
}
</style>